Nanodegree key: nd9990
Version: 2.0.0
Locale: en-us
The course is focused on training the learner to achieve critical AWS skills to become an effective cloud developer.
Content
Part 01 : Welcome to the Cloud Developer Nanodegree program
-
Module 01: Welcome to the Cloud Developer Nanodegree Orientation
-
Lesson 01: Cloud Developer Nanodegree program introduction
- Concept 01: Welcome to Udacity
- Concept 02: Welcome to the nanodegree program experience
- Concept 03: Welcome to the Cloud Developer Nanodegree program
- Concept 04: Pre-requisites
- Concept 05: Meet your instructors
- Concept 06: What you'll build
- Concept 07: How to Succeed
- Concept 08: AWS Setup Instructions for Regular account
- Concept 09: Monitoring your AWS costs and credits
- Concept 10: Career Interview with your instructor, Justin Lee
-
-
Module 02: Career Support
-
Lesson 01: Get Help with Your Account
What to do if you have questions about your account or general questions about the program.
-
Lesson 02: Knowledge, Community, and Careers
You are starting a challenging but rewarding journey! Take 5 minutes to read how to get help with projects and content.
-
-
Module 03: Careers Services Orientation
-
Lesson 01: Nanodegree Career Services
The Careers team at Udacity is here to help you move forward in your career - whether it's finding a new job, exploring a new career path, or applying new skills to your current job.
-
Lesson 02: Jobs in Cloud Computing
To kick off your industry research, learn about different jobs found in Cloud Computing.
-
Part 02 : Cloud Fundamentals
The cloud has become a key enabler for innovation with beneficial features like high availability, unlimited capacity, and on-demand scalability and elasticity. Learn the fundamentals of cloud computing while being introduced to compute power, security, storage, networking, messaging, and management services in the cloud. While learning the fundamentals, you will explore tools and services offered by Amazon Web Services (AWS) through interactive hands-on exercises. By the end of the course, you will have deployed your first website to AWS, and you will be prepared to continue your learning journey in the Cloud Developer nanodegree program.
-
Module 01: Cloud Fundamentals
-
Lesson 01: Cloud Computing
Learn the basics of cloud computing including cloud deployment models, benefits, and popular options.
- Concept 01: Course Introduction
- Concept 02: Instructor Introduction
- Concept 03: Lesson Introduction
- Concept 04: What is Cloud Computing?
- Concept 05: Types of Cloud Computing
- Concept 06: Cloud Computing Deployment Model
- Concept 07: Common Benefits
- Concept 08: Options
- Concept 09: Services
- Concept 10: Global Infrastructure
- Concept 11: Shared Responsibility Model
- Concept 12: Lab: Setup free-tier account
- Concept 13: Lesson Recap
-
Lesson 02: Foundational & Compute Service
Learn why we need servers, compute power, and security.
- Concept 01: Lesson Introduction
- Concept 02: Why do we need servers in the cloud?
- Concept 03: Elastic Cloud Compute (EC2)
- Concept 04: Demo - Elastic Cloud Compute (EC2)
- Concept 05: Elastic Block Store (EBS)
- Concept 06: Demo - Elastic Block Store (EBS)
- Concept 07: Why do we need security in the cloud for our servers?
- Concept 08: Virtual Private Cloud (VPC)
- Concept 09: Demo - Virtual Private Cloud (VPC)
- Concept 10: Lab - Launch an EC2 instance
- Concept 11: Why do we need compute power in the cloud?
- Concept 12: Lambda
- Concept 13: Demo - Lambda
- Concept 14: Lab - Create and execute a Lambda
- Concept 15: Elastic Beanstalk
- Concept 16: Lab - Deploy App to Beanstalk
- Concept 17: Lesson Recap
-
Lesson 03: Storage & Content Delivery
Learn why we need storage and content delivery in the cloud.
- Concept 01: Lesson Introduction
- Concept 02: Why do we need storage in the cloud?
- Concept 03: S3 & Glacier
- Concept 04: Demo - S3 & Glacier
- Concept 05: DynamoDB
- Concept 06: Demo - DynamoDB
- Concept 07: Lab - DynamoDB
- Concept 08: Relational Database Service (RDS)
- Concept 09: Demo - Relational Database Service (RDS)
- Concept 10: RedShift
- Concept 11: Lab - RDS
- Concept 12: Why do we need content delivery in the cloud?
- Concept 13: Cloud Front
- Concept 14: Demo - Cloud Front
- Concept 15: Lab - S3 & Cloud Front
- Concept 16: Lesson Recap
-
Lesson 04: Security
Learn the importance of security in the cloud.
- Concept 01: Lesson Introduction
- Concept 02: Why do we need security for applications?
- Concept 03: AWS Shield
- Concept 04: AWS Web Application Firewall
- Concept 05: Identity and Access Management (IAM)
- Concept 06: Demo - Identity and Access Management (IAM)
- Concept 07: Lab - IAM
- Concept 08: Lesson Recap
-
Lesson 05: Networking & Elasticity
Learn the basics of networking and elasticity in the cloud.
- Concept 01: Lesson Introduction
- Concept 02: Why do we need networking in the cloud?
- Concept 03: Route 53
- Concept 04: Why do we need elasticity in the cloud?
- Concept 05: EC2 Auto Scaling
- Concept 06: Demo - EC2 Auto Scaling
- Concept 07: Elastic Load Balancing
- Concept 08: Demo - Elastic Load Balancing
- Concept 09: Lab - EC2 Auto Scaling
- Concept 10: Lesson Recap
-
Lesson 06: Messaging & Containers
Learn the basics of messaging and containers in the cloud.
- Concept 01: Lesson Introduction
- Concept 02: Why do we need messaging in the cloud?
- Concept 03: Simple Notification Service (SNS)
- Concept 04: Demo - Simple Notification Service (SNS)
- Concept 05: Why do we need queuing technology?
- Concept 06: Simple Queue Service (SQS)
- Concept 07: Demo - Simple Queue Service
- Concept 08: Lab - SNS
- Concept 09: Why do we need containers?
- Concept 10: Elastic Container Service (ECS)
- Concept 11: Demo - Elastic Container Service
- Concept 12: Lesson Recap
-
Lesson 07: AWS Management
Learn why we need logging, auditing, and resource management in the cloud.
- Concept 01: Introduction
- Concept 02: Why do we need logging and auditing in the cloud?
- Concept 03: Cloud Trail
- Concept 04: Demo - Cloud Trail
- Concept 05: Cloud Watch
- Concept 06: Demo - Cloud Watch
- Concept 07: Lab - Cloud Watch
- Concept 08: What is Infrastructure as Code and why do we need it?
- Concept 09: Cloud Formation
- Concept 10: Demo - Cloud Formation
- Concept 11: Lab - Cloud Formation
- Concept 12: AWS Command Line Interface (CLI)
- Concept 13: Demo - AWS Command Line Interface (CLI)
- Concept 14: Lesson Recap
- Concept 15: Course Recap
-
Lesson 08: Deploy Static Website on AWS
In this project, you will deploy a static website to AWS.
-
Part 03 : Full Stack Apps on AWS
-
Module 01: Engineering Full Stack Apps in the Cloud
-
Lesson 01: Cloud Basics
Learn key terminology and building blocks of a cloud system. Understand the design paradigm of modern cloud applications.
-
Lesson 02: Develop
Implement a process so you write quality code, working alone or on teams. Unit and integration testing, a better way to git, and how to use packaged dependencies.
-
Lesson 03: Storing Data in the Cloud
Set up and start using a cloud-based relational database for storing user data using AWS RDS. Implement a filestore for media like images using AWS S3.
-
Lesson 04: Building and Deploying
Consume cloud data services (database and filestore) within your server application. Deploy your application using AWS Elastic Beanstalk.
- Concept 01: Intro
- Concept 02: Organizing Our Code & Working With Larger Systems
- Concept 03: Connecting our RDS Database in Node
- Concept 04: Connecting our S3 Filestore in Node
- Concept 05: Handling Secrets with Environment Variables
- Concept 06: Permissions for Elastic Beanstalk
- Concept 07: Deploying Our Server to the Cloud
-
Lesson 05: User Authentication and Security
Cloud systems come with a new set of challenges to only allow authorized users access to sensitive information. Learn common mistakes and modern techniques for dealing with security.
- Concept 01: Basic Security and User Auth
- Concept 02: Tips to Follow Along
- Concept 03: Implementing Salted Hashed Passwords
- Concept 04: bcrypt Implementation Solution
- Concept 05: Storing Passwords on our Clients
- Concept 06: Implementing JWTs in Node
- Concept 07: Deploying Changes
- Concept 08: Closing Tips on Security
- Concept 09: Lesson Recap
-
Lesson 06: Scaling and Fixing
Your work is never over. Cloud systems need to be maintained as dependencies are updated and there is more demand for your service. We explore tools and process to minimize growing pains
-
Lesson 07: Udagram: Your Own Instagram on AWS
In this project, you will develop a cloud-based application for uploading and filtering images!
-
-
Module 02: Career Support
-
Lesson 01: Optimize Your GitHub Profile
Other professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.
- Concept 01: Prove Your Skills With GitHub
- Concept 02: Introduction
- Concept 03: GitHub profile important items
- Concept 04: Good GitHub repository
- Concept 05: Interview with Art - Part 1
- Concept 06: Identify fixes for example “bad” profile
- Concept 07: Quick Fixes #1
- Concept 08: Quick Fixes #2
- Concept 09: Writing READMEs with Walter
- Concept 10: Interview with Art - Part 2
- Concept 11: Commit messages best practices
- Concept 12: Reflect on your commit messages
- Concept 13: Participating in open source projects
- Concept 14: Interview with Art - Part 3
- Concept 15: Participating in open source projects 2
- Concept 16: Starring interesting repositories
- Concept 17: Next Steps
-
Part 04 : Monolith to Microservices at Scale
-
Module 01: Monolith to Microservices at Scale
-
Lesson 01: Introduction to Microservices
Using microservices is both a technical and business decision. In this lesson you will learn about the use cases that caused microservices to become popular.
- Concept 01: Meet Your Instructor
- Concept 02: Course Prerequisites
- Concept 03: Introduction to Microservices
- Concept 04: Deployment is Important
- Concept 05: Business Stakeholders
- Concept 06: When Not to Use Microservices
- Concept 07: Software Delivery History
- Concept 08: Course Outline
- Concept 09: Tools We Will Be Using
- Concept 10: Recap
- Concept 11: Good Luck!
-
Lesson 02: Microservices Design Principles and Best Practices
When applied correctly, microservice architecture can deliver great business value. In this lesson, we will compare microservices and monoliths and discuss best practices for refactoring.
- Concept 01: Intro to Microservices
- Concept 02: Monolith vs. Microservices
- Concept 03: Exercise: Monolith vs. Microservices
- Concept 04: Solution: Monolith vs. Microservices
- Concept 05: Microservice Architecture Designs
- Concept 06: Microservice Architecture Designs Quizzes
- Concept 07: Exercise: Microservice Architecture Designs
- Concept 08: Solution: Microservice Architecture Designs
- Concept 09: Divide Into Microservices
- Concept 10: Divide Into Microservices Quizzes
- Concept 11: Exercise: Divide Into Microservices
- Concept 12: Solution: Divide Into Microservices
- Concept 13: Additional Considerations
- Concept 14: Lesson Recap
- Concept 15: Glossary
-
Lesson 03: Containers Using Docker
Applications are often deployed in containers. In this lesson we'll learn why we use containers and how to use Docker to build our applications to be deployed as containers
- Concept 01: Containers Using Docker
- Concept 02: Introducing Containers
- Concept 03: Docker
- Concept 04: Docker Quizzes
- Concept 05: Exercise: Docker App
- Concept 06: Solution: Docker App
- Concept 07: Debug a Container
- Concept 08: Debugging Quizzes
- Concept 09: Exercise: Debugging
- Concept 10: Solution: Debugging
- Concept 11: Container Registries
- Concept 12: Container Registries Quizzes
- Concept 13: Exercise: Container Registries
- Concept 14: Solution: Container Registries
- Concept 15: Exercise: Base Images
- Concept 16: Solution: Base Containers
- Concept 17: Modifying Containers
- Concept 18: Lesson Recap
- Concept 19: Glossary
-
Lesson 04: Automating the Application Development Lifecycle
In this lesson we'll learn about why the industry embraces Continuous Integration and Continuous Deployment and how Docker helps streamline the process
- Concept 01: Independent Releases
- Concept 02: Why Use Deployment Pipelines?
- Concept 03: Deploying Code
- Concept 04: CI/CD Benefits
- Concept 05: CI/CD Quizzes
- Concept 06: Exercise: Optimize with CI/CD
- Concept 07: Solution: Optimize with CI/CD
- Concept 08: Using Travis CI
- Concept 09: Travis CI Quizzes
- Concept 10: Exercise: Travis CI
- Concept 11: Solution: Travis CI
- Concept 12: Environment Variables with Travis
- Concept 13: Environment Variables and Travis Quizzes
- Concept 14: Exercise: Environment Variables and Travis
- Concept 15: Solution: Environment Variables and Travis
- Concept 16: Alternative CI
- Concept 17: Lesson Recap
- Concept 18: Glossary
-
Lesson 05: Orchestration with Kubernetes
Kubernetes is a powerful tool that is often used to deploy containers. In this lesson we’ll learn about why we would consider using Kubernetes and to deploy our applications
- Concept 01: Orchestration With Kubernetes
- Concept 02: Why Orchestration?
- Concept 03: Kubernetes Fundamentals
- Concept 04: Kubernetes Quizzes
- Concept 05: Kubernetes on AWS
- Concept 06: Kubernetes on AWS Quizzes
- Concept 07: Exercise: Kubernetes on AWS
- Concept 08: Solution: Kubernetes on AWS
- Concept 09: Kubernetes Cluster
- Concept 10: Kubernetes Cluster Quizzes
- Concept 11: Exercise: Kubernetes Cluster
- Concept 12: Solution: Kubernetes Cluster
- Concept 13: Other Deployment Strategies
- Concept 14: Exercise: Debugging
- Concept 15: Solution: Debugging
- Concept 16: Lesson Recap
- Concept 17: Glossary
-
Lesson 06: Best Practices/Design Patterns for Kubernetes in Production
In this lesson we'll learn some of the best practices for running your application in Kubernetes including logging, scale, and security
- Concept 01: Kubernetes for Production
- Concept 02: Configuring a Cluster
- Concept 03: Thinking About Production
- Concept 04: Reverse Proxy
- Concept 05: Reverse Proxy Quizzes
- Concept 06: Exercise: Reverse Proxy
- Concept 07: Solution: Reverse Proxy
- Concept 08: Securing Microservices
- Concept 09: Securing Microservices Quizzes
- Concept 10: Scaling and Self-Healing
- Concept 11: Scaling and Self-healing Quizzes
- Concept 12: Exercise: Scaling and Self-healing
- Concept 13: Solution: Scaling and Self-healing
- Concept 14: Using Logs
- Concept 15: Using Logs Quizzes
- Concept 16: Exercise: Using Logs
- Concept 17: Solution: Using Logs
- Concept 18: Lesson Recap
- Concept 19: Glossary
- Concept 20: Course Recap
-
Lesson 07: Refactor Monolith to Microservices and Deploy
In this project, you will take an existing application named Udagram and refactor it into a microservice architecture with lean services and deploy it using Kubernetes.
-
Part 05 : Develop & Deploy Serverless App
Serverless technologies have become very popular recently because they can increase the speed of development and drastically reduce the cost of running a cloud infrastructure. This course combines the theory of using serverless technologies with the practice of developing a complex serverless application and focuses on learning by doing. You will learn advanced serverless features such as implementing WebSockets and stream processing and learn about serverless best practices throughout the course.
-
Module 01: Develop & Deploy Serverless App
-
Lesson 01: Serverless Introduction
Introduction to the course, and Introduction to Serverless
- Concept 01: Intro to Serverless
- Concept 02: Function as a Service
- Concept 03: AWS Lambda
- Concept 04: Events with AWS Lambda
- Concept 05: How FaaS works
- Concept 06: Invocation types
- Concept 07: JavaScript Callbacks
- Concept 08: Platform events
- Concept 09: Additional Parameters
- Concept 10: When to use serverless
- Concept 11: Exercise
- Concept 12: Exercise Solution
- Concept 13: Summary
-
Lesson 02: REST API
In this lesson, we will cover the development of REST APIL for a group of images, how to store data in DynamoDB and build a web app using React.
- Concept 01: Introduction
- Concept 02: API Gateway
- Concept 03: Amazon API Gateway
- Concept 04: API Gateway Configuration
- Concept 05: API Gateway Stages
- Concept 06: Implement GET-Groups API
- Concept 07: Web Interface: Introduction
- Concept 08: Using API from a Web Application
- Concept 09: Sending Requests
- Concept 10: DynamoDB: Introduction
- Concept 11: DynamoDB: Storing Data
- Concept 12: Connecting API To DynamoDB
- Concept 13: Creating Items with DynamoDB
- Concept 14: POST Method
- Concept 15: Routing in React
- Concept 16: Creating Group UI
- Concept 17: Advanced API Gateway
- Concept 18: API Gateway Pricing
- Concept 19: API Gateway Limits
- Concept 20: Pagination Exercise
- Concept 21: Pagination: Exercise Solution
- Concept 22: Summary
-
Lesson 03: Serverless Framework
In this lesson you will be introduced to the framework for Serverless and the various API we will be using.
- Concept 01: Serverless Framework
- Concept 02: Serverless Frameworks: Introduction
- Concept 03: YAML
- Concept 04: Serverless Frameworks
- Concept 05: Serverless Framework Application
- Concept 06: CloudFormation
- Concept 07: Using Serverless Framework
- Concept 08: Demo:Serverless Template
- Concept 09: Port Get All Groups Demo
- Concept 10: Demo: Group API
- Concept 11: Validate Requests
- Concept 12: Images API
- Concept 13: Queries With Node.js
- Concept 14: Demo: get images
- Concept 15: Indexes in DynamoDB
- Concept 16: Exercise: Create image record
- Concept 17: Exercise Solution
- Concept 18: Summary
-
Lesson 04: Event Processing
In this lesson you will learn about event processing using Serverless. We will focus on processing different event types with Lambda functions.
- Concept 01: Events Processing
- Concept 02: Uploading Files
- Concept 03: Cloudformation References
- Concept 04: Demo: presigned URL
- Concept 05: S3 Events
- Concept 06: WebSocket: Introduction
- Concept 07: API Gateway: WebSockets
- Concept 08: Websockets with Serverless Framework
- Concept 09: Full-Text Search
- Concept 10: DynamoDB Stream
- Concept 11: Decouple DynamoDB
- Concept 12: Scaling a Data Stream
- Concept 13: Elasticsearch
- Concept 14: Enable DynamoDB Stream
- Concept 15: Error Handling
- Concept 16: Simple Notification
- Concept 17: Exercise
- Concept 18: Exercise - Resize File On Upload - Solution
- Concept 19: Summary
-
Lesson 05: Authentication
In this lesson, we cover authentication and authorization using Serverless. We will cover Authentication, OAuth, Auth0 protocols.
- Concept 01: Authentication Intro
- Concept 02: Authentication with API Gateway
- Concept 03: Implementing A Custom Authorizer
- Concept 04: Demo:Mock Authentication
- Concept 05: Implementing Authentication
- Concept 06: OAuth and OpenID
- Concept 07: OAuth Flow
- Concept 08: Verifying JWT Token
- Concept 09: Handling Auth0 JWT Token
- Concept 10: Storing Secrets
- Concept 11: Lambda Middleware
- Concept 12: Exercise
- Concept 13: Exercise: Solution
- Concept 14: Summary
-
Lesson 06: Best Practices
In this lesson, we will cover some best practices with Serverless.
- Concept 01: Best Practices
- Concept 02: Ports and Adapters
- Concept 03: Integration Tests
- Concept 04: Local Execution
- Concept 05: Running Serverless Application Locally
- Concept 06: Canary Deployment
- Concept 07: Lambda Canary Deployments
- Concept 08: Configure Canary Deployment
- Concept 09: Serverless Observability
- Concept 10: Distributed Tracing
- Concept 11: Enabling X-Ray Tracing
- Concept 12: Optimize Lambda Functions
- Concept 13: Optimize Lambda Environment
- Concept 14: Demo: Optimize
- Concept 15: Security
- Concept 16: Exercise
- Concept 17: Summary
-
Lesson 07: Serverless Application
In this project, you will create a simple TODO application using AWS Lambda and Serverless framework.
-
-
Module 02: Career Support
-
Lesson 01: Take 30 Min to Improve your LinkedIn
Find your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.
- Concept 01: Get Opportunities with LinkedIn
- Concept 02: Use Your Story to Stand Out
- Concept 03: Why Use an Elevator Pitch
- Concept 04: Create Your Elevator Pitch
- Concept 05: Use Your Elevator Pitch on LinkedIn
- Concept 06: Create Your Profile With SEO In Mind
- Concept 07: Profile Essentials
- Concept 08: Work Experiences & Accomplishments
- Concept 09: Build and Strengthen Your Network
- Concept 10: Reaching Out on LinkedIn
- Concept 11: Boost Your Visibility
- Concept 12: Up Next
-
Part 06 : Capstone
-
Module 01: Capstone
-
Lesson 01: Capstone
In the capstone project, you’ll build an application of your choice on AWS based on predefined criteria.
-